# Паттерны / шаблоны
## [Фабрики и пулы объектов в JavaScript, factorify, poolify](https://youtu.be/Ax_mSvadFp8)
- [00:00:00  Введение ](https://youtu.be/Ax_mSvadFp8?t=0)
- [            00:02:38  Фабрика  ( factory )](https://youtu.be/Ax_mSvadFp8?t=158)
- [            00:05:44  Фабрика прототипов      ](https://youtu.be/Ax_mSvadFp8?t=344)
- [            00:10:48  Фабрика классов   ](https://youtu.be/Ax_mSvadFp8?t=648)
- [            00:12:28  Фабрика функций   ](https://youtu.be/Ax_mSvadFp8?t=748)
- [            00:15:55  Фабричные методы  ](https://youtu.be/Ax_mSvadFp8?t=955)
- [            00:16:55  Превращение функций в фабрику  ( factorify)](https://youtu.be/Ax_mSvadFp8?t=1015)
- [            00:19:44  Пул ( pool )](https://youtu.be/Ax_mSvadFp8?t=1184)
- [            00:23:05  Работа с пулом    ](https://youtu.be/Ax_mSvadFp8?t=1385)
- [            00:23:04  Обобщенный пул](https://youtu.be/Ax_mSvadFp8?t=1384)
- [            00:24:55  Пулифицирование фабрики ( poolify )  ](https://youtu.be/Ax_mSvadFp8?t=1495)
- [            00:28:50  Улучшеная пулифицированная фабрика  ](https://youtu.be/Ax_mSvadFp8?t=1730)
- [            00:32:10  Ассинхронная работа с пулом  ](https://youtu.be/Ax_mSvadFp8?t=1930)
- [            00:45:25  Одновременное использование factorify и poolify ](https://youtu.be/Ax_mSvadFp8?t=2725)
- [            00:51:54  Обобщение](https://youtu.be/Ax_mSvadFp8?t=3114)
## [Шаблон Singleton (синглтон) в JavaScript](https://youtu.be/qdJ5yikZnfE)
- [00:00:00  Singleton через конструктор прототипа](https://youtu.be/qdJ5yikZnfE?t=0)
- [        00:03:27  Singleton через замыкания  ](https://youtu.be/qdJ5yikZnfE?t=207)
- [        00:06:10  Пример singleton через замыкания ](https://youtu.be/qdJ5yikZnfE?t=370)
- [        00:08:15  Пример singleton через замыкания в функциональном стиле  ](https://youtu.be/qdJ5yikZnfE?t=495)
- [        00:09:23  Пример singleton через замыкания в функциональном стиле  (упрощенный)    ](https://youtu.be/qdJ5yikZnfE?t=563)
- [        00:10:32  Создание singleton в JS](https://youtu.be/qdJ5yikZnfE?t=632)
## [Фасад - петтерн для скрытия сложности](https://youtu.be/oJtBO7CystE)
- [](https://youtu.be/oJtBO7CystE?t=0)
## [Адаптер (Adapter) - паттерн достижения совместимости](https://youtu.be/cA65McLQrR8)
- [0:00 введение](https://youtu.be/cA65McLQrR8?t=0)
- [        1:30 adapter на prototype](https://youtu.be/cA65McLQrR8?t=90)
- [        3:57 adapter на class](https://youtu.be/cA65McLQrR8?t=237)
- [        4:23 adapter на function](https://youtu.be/cA65McLQrR8?t=263)
- [        6:15 adapter  на классе-обертке (boxing)](https://youtu.be/cA65McLQrR8?t=375)
- [        7:08 adapter на замыканиях (closure)](https://youtu.be/cA65McLQrR8?t=428)
- [        8:10 adapter на interface](https://youtu.be/cA65McLQrR8?t=490)
- [        13:45 adapter на events](https://youtu.be/cA65McLQrR8?t=825)
- [        16:00 выводы](https://youtu.be/cA65McLQrR8?t=960)
## [Стратегия (Strategy) - выбор взаимозаменяемого поведения](https://youtu.be/hO8VSVv0NqM)
- [0:00 введение](https://youtu.be/hO8VSVv0NqM?t=0)
- [        3:40 strategy на class](https://youtu.be/hO8VSVv0NqM?t=220)
- [        15:04 strategy на prototype](https://youtu.be/hO8VSVv0NqM?t=904)
- [        16:14 strategy на function](https://youtu.be/hO8VSVv0NqM?t=974)
- [        20:22 strategy с примером работы над массивом](https://youtu.be/hO8VSVv0NqM?t=1222)
- [        24:07 обобщение](https://youtu.be/hO8VSVv0NqM?t=1447)
## [Паттерн Команда (Command) действие и параметры как объект](https://youtu.be/vER0vYL4hM4)
- [](https://youtu.be/vER0vYL4hM4?t=0)
## [Have Objects Failed? Или что не так с ООП?](https://youtu.be/4yO5OS0vPSw)
- [1:46 Присвоенные идеи ООП](https://youtu.be/4yO5OS0vPSw?t=106)
- [        11:47 Притянутые достоинства ООП](https://youtu.be/4yO5OS0vPSw?t=707)
- [        22:06 Проблемы ООП](https://youtu.be/4yO5OS0vPSw?t=1326)
- [        39:56 Как жить с ООП](https://youtu.be/4yO5OS0vPSw?t=2396)
- [        56:44 Подходящие области для ООП](https://youtu.be/4yO5OS0vPSw?t=3404)
- [        1:03:51 Неподходящие области для ООП](https://youtu.be/4yO5OS0vPSw?t=3831)
- [        1:11:30 Заключение](https://youtu.be/4yO5OS0vPSw?t=4290)
